By definition, signal processing operations change one signal into another signal. Some examples of signal processing operations are: changing the amplitude of a signal; changing the frequency content of a signal; and inverting a signal.
Before the advent of computers, signal processing operations were accomplished with circuits or spring-mounted transducers. By manipulating analog controls in real-time, properties of a signal could be altered.
In computer processing of digital signals, routines are executed to perform the signal processing operations. Frequently, such routines are designed to process the data that represents the signal (the “signal data”) in a monolithic operation that combines analysis and processing in one step. Specifically, when executed, the signal processing routines both (1) determine how the signal data should be changed (analysis), and (2) change the signal data accordingly (processing). Once the user has initiated the signal processing operation, the user simply awaits completion of the operation, hoping that the parameters that have been specified for the operation produce a beneficial result.
Combining analysis and processing in this manner has drawbacks. For example, when analysis and processing are combined, the user only finds out how an operation will specifically change a signal by listening to the final result. If the user does not like how the operation changed the signal, then the user has to undo the change, modify the values of the parameters that govern the operation, and try again. Consequently, the user must often revert to repetitive experimentation using trial and error to produce the desired result.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, the approaches described in this section may not be prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.